/**
 * 用户注册
 * @author  Jello
 * @create  2018/10/31 17:24
 * @version 1.0
 * @company 广东蓝聘科技网络有限公司
 **/
var spinner = new Spinner(opts);

$(function() {

	//检测是否记住密码
	var loginSign = localStorage.getItem("phone_local");
	var pwdSign = localStorage.getItem("pwd_local");
	if(pwdSign) {
		$("#loginPhone").val(loginSign);
		$("#loginPwd").val($.base64.decode(pwdSign));
		$("#checkbox").attr("checked", true);
	} else {
		$("#loginPhone").val(loginSign);
		$("#loginPwd").val("");
		$("#checkbox").attr("checked", false);
	}

	//登录监听
	$("#loginPhone").on('input propertychange', function() {
		var phone = $(this).val();
		checkPhone(phone, "error2", "error1");
	})
	$("#loginPwd").on('input propertychange', function() {
		var pwd = $(this).val();
		checkPwd(pwd, "error2", "error1");
	})
	$("#loginPhone").click(function() {
		$(this).css("background", 'url(img/icon/phone.png) no-repeat 12px center');
	})
	$("#loginPwd").click(function() {
		$(this).css("background", 'url(img/icon/pwd.png) no-repeat 12px center');
	})
	$("#loginPhone").blur(function() {
		$("#error2").html("");
		$("#error1").hide();
		$(this).css("background", '');
	})
	$("#loginPwd").blur(function() {
		$("#error2").html("");
		$("#error1").hide();
		$(this).css("background", '');
	})
	//注册监听
	$("#registPhone").on('input propertychange', function() {
		var phone = $(this).val();
		checkPhone(phone, "error4", "error3");
	})
	$("#registPwd").on('input propertychange', function() {
		var pwd = $(this).val();
		checkPwd(pwd, "error4", "error3");
	})
	$("#registPhone").click(function() {
		$(this).css("background", 'url(img/icon/phone.png) no-repeat 12px center');
	})
	$("#registPwd").click(function() {
		$(this).css("background", 'url(img/icon/pwd.png) no-repeat 12px center');
	})
	$("#registPhone").blur(function() {
		$("#error4").html("");
		$("#error3").hide();
		$(this).css("background", '');
	})
	$("#registPwd").blur(function() {
		$("#error4").html("");
		$("#error3").hide();
		$(this).css("background", '');
	})
	//验证码监听
	$("#code").click(function() {
		$(this).css("background", 'url(img/icon/code.png) no-repeat 12px center');
	})
	$("#code").blur(function() {
		$("#error4").html("");
		$("#error3").hide();
		$(this).css("background", '');
	})

	//登录
	$("#login_btn").click(function() {
		var phone = $("#loginPhone").val();
		var pwd = $("#loginPwd").val();
		if(checkPhone(phone, "error2", "error1") && checkPwd(pwd, "error2", "error1")) {
			//登录接口上送
			var param = {};
			param.phone = phone;
			param.pwd = pwd;
			login(param, function(resultObj) {
				if(resultObj.data.msg == "null") {
					$("#error2").html("用户不存在");
					$("#error1").show();
				} else if(resultObj.data.msg == "error") {
					$("#error2").html("用户名或密码错误");
					$("#error1").show();
				} else {
					rememberPwd(); //回调记住密码
					sessionStorage.setItem("user_token", resultObj.data.userToken); //存储token
					sessionStorage.setItem("user_sign", resultObj.data.id); //登录返回userid，去验证是否登录
					window.location.href = "index.html";
				}
			})
		}
	});

	//获取验证码
	$("#code_btn").click(function() {
		var phoneNum = $("#registPhone").val(); //手机号
		var pwd = $("#registPwd").val(); //密码
		var checkValue = (checkPhone(phoneNum, "error4", "error3") && checkPwd(pwd, "error4", "error3"));
		if(checkValue) {
			//获取验证码接口上送
			var param = {};
			param.phone = phoneNum;
			param.type = 0;
			gainCode(param, function(resultObj) {
				if(resultObj.code == 0) {
					token = resultObj.data; //获取验证码成功后返回的token
					//开启验证码定时器
					for(i = 1; i <= 60; i++) {
						if(i == 1) {
							window.setTimeout("countDown(" + i + ")");
						} else {
							window.setTimeout("countDown(" + i + ")", (i - 1) * 1000);
						}
					}
				} else {
					$("#error4").html(resultObj.msg);
					$("#error3").show();
					return;
				}
			});
		}
	})

	//注册
	$("#regist_btn").click(function() {
		var phoneNum = $("#registPhone").val(); //手机号
		var pwd = $("#registPwd").val(); //密码
		var code = $("#code").val(); //验证码
		var flag = (checkPhone(phoneNum, "error4", "error3") && checkPwd(pwd, "error4", "error3") && checkCode(code));
		if(flag) {
			var checked = $("#registcheck").prop("checked"); //协议checkbox
			if(!checked) {
				$("#error4").html("请阅读并勾选协议");
				$(".errorMsg2").show();
				return;
			}
			//校验验证码接口上送
			var param = {};
			param.phone = phoneNum;
			param.type = 0;
			param.code = code;
			param.token = token;
			mateCode(param, function(mateObj) {
				if(mateObj.code == 0) {
					//注册接口上送
					var param = {};
					param.phone = phoneNum;
					param.pwd = pwd;
					regist(param, function() {
						$(".errorbox").show();
						setTimeout(function() {
							$(".errorbox").hide();
							$("#loginBox").show();
							$("#registBox").hide();
							$("#loginbtn").addClass("logincur");
							$("#loginbtn").removeClass("logincur2");
							$("#registbtn").addClass("logincur2");
							$("#registbtn").removeClass("logincur");
						}, 800);
					})
				} else {
					$("#error4").html(mateObj.msg);
					$("#error3").show();
					return;
				}
			})
		}
	})

	var type = getParam("type");
	if(type == 1) {
		$("#loginBox").hide();
		$("#registBox").show();
		$("#registbtn").addClass("logincur");
		$("#registbtn").removeClass("logincur2");
		$("#loginbtn").addClass("logincur2");
		$("#loginbtn").removeClass("logincur");
	}

	//跳转首页
	$(".regist1").click(function() {
		window.location.href = "login.html";
	})

	//勾选用户注册协议
	$("#registcheck").click(function() {
		$(".errorMsg2").hide();
	})

})

/**
 * 验证码倒计时
 * @param {Object} count 倒数
 */
function countDown(count) {
	if(count == 60) {
		$("#code_btn").html("获取验证码");
		$("#code_btn").attr('disabled', false);
	} else {
		left_time = 60 - count;
		$("#code_btn").attr('disabled', true);
		$("#code_btn").html(left_time + "秒重新发送");
	}
}

/**
 * 记住密码
 */
function rememberPwd() {
	var phoneNum = $("#loginPhone").val(); //手机号
	var pwd = $("#loginPwd").val(); //密码
	var checked = $('#checkbox').is(':checked');
	if(checked) { //选中记住密码,永久存储本地
		localStorage.setItem("phone_local", phoneNum);
		localStorage.setItem("pwd_local", $.base64.encode(pwd));
	} else {
		localStorage.removeItem("pwd_local");
	}
}

/**
 * 校验手机号
 */
function checkPhone(phone, showTxt, showId) {
	var reg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;
	if(phone == "") {
		$("#" + showTxt).html("手机号码不能为空");
		$("#" + showId).show();
		return;
	} else if(!reg.test(phone)) {
		$("#" + showTxt).html("手机号码格式错误");
		$("#" + showId).show();
		return;
	} else {
		$("#" + showTxt).html("");
		$("#" + showId).hide();
	}
	return true;
}

/**
 * 校验密码
 * @param {Object} pwd
 */
function checkPwd(pwd, showTxt, showId) {
	if(pwd == "") {
		$("#" + showTxt).html("密码不能为空");
		$("#" + showId).show();
		return;
	} else if(pwd.indexOf(" ") >= 0) {
		$("#" + showTxt).html("密码中不能有空格字符");
		$("#" + showId).show();
		return;
	} else if((/[\u4e00-\u9fa5]+/).test(pwd)) {
		$("#" + showTxt).html("密码不能包含中文");
		$("#" + showId).show();
		return;
	} else if(pwd.length < 6 || pwd.length > 16) {
		$("#" + showTxt).html("密码长度为6-16位");
		$("#" + showId).show();
		return;
	} else {
		$("#" + showTxt).html("");
		$("#" + showId).hide();
	}
	return true;
}

/**
 * 检验验证码
 * @param {Object} code
 */
function checkCode(code) {
	var reg = /^[0-9]*$/;
	if(code == "") {
		$("#error4").html("验证码不能为空");
		$("#error3").show();
		return;
	} else if(!reg.test(code)) {
		$("#error4").html("验证码格式不正确");
		$("#error3").show();
		return;
	}
	return true;
}